Find N unique integers sum up to zero¶
Time: O(N); Space: O(1); easy
Given an integer n, return any array containing n unique integers such that they add up to 0.
Example 1:
Input: n = 5
Output: [-7,-1,1,3,4]
Explanation:
These arrays also are accepted [-5,-1,1,2,3] , [-3,-1,2,-2,4].
Example 2:
Input: n = 3
Output: [-1,0,1]
Example 3:
Input: n = 1
Output: [0]
Notes:
1 <= n <= 1000
Hints:
Return an array where the values are symmetric. (+x , -x).
If n is odd, append value 0 in your returned array.
[20]:
class Solution1(object):
def sumZero(self, n):
"""
:type n: int
:rtype: List[int]
"""
return [i for i in range(-(n//2), n//2+1) if not (i == 0 and n%2 == 0)]
[21]:
s = Solution1()
n = 5
s.sumZero(n)
# print(s.sumZero(n))
assert s.sumZero(n) == [-7,-1,1,3,4] or [-5,-1,1,2,3] or [-3,-1,2,-2,4] or [-2, -1, 0, 1, 2]
n = 3
assert s.sumZero(n) == [-1, 0, 1]
n = 4
assert s.sumZero(n) == [-2, -1, 1, 2]